home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / BST_SystemDocs.lha / BeastV1 / Include / BST_System / Beast.i < prev    next >
Encoding:
Text File  |  1996-09-04  |  19.2 KB  |  663 lines

  1. ;****h* Beast/BeastConstants ************************************************
  2. ;*
  3. ;*    NAME
  4. ;*      BeastConstants -- Constants definition for BEAST. (v0.1)
  5. ;*
  6. ;*    COPYRIGHT
  7. ;*      Maverick Software Development
  8. ;*
  9. ;*    FUNCTION
  10. ;*
  11. ;*    AUTHOR
  12. ;*      Jacco van Weert
  13. ;*
  14. ;*    CREATION DATE
  15. ;*      23-Apr-95
  16. ;*
  17. ;*    MODIFICATION HISTORY
  18. ;*
  19. ;*    NOTES
  20. ;*
  21. ;****************************************************************************
  22.  
  23.     IFND    BEAST_I
  24. BEAST_I    SET    1
  25.  
  26. PUSH    MACRO
  27.     move.l    \1,-(sp)
  28.     ENDM
  29. POP    MACRO
  30.     move.l    (sp)+,\1
  31.     ENDM
  32. PUSHM    MACRO
  33.     movem.l    \1,-(sp)
  34.     ENDM
  35. POPM    MACRO
  36.     movem.l    (sp)+,\1
  37.     ENDM
  38. IF_BEQ  MACRO
  39.     tst.l    \1
  40.     beq.\0    \2
  41.     ENDM
  42. IF_BNE  MACRO
  43.     tst.l    \1
  44.     bne.\0    \2
  45.     ENDM
  46.  
  47.  
  48.     IFND    UTILITY_TAGITEM_I
  49.     INCLUDE    "utility/tagitem.i"
  50.     ENDC
  51.     IFND    UTILITY_HOOKS_I
  52.     INCLUDE    "utility/hooks.i"
  53.     ENDC
  54.  
  55. ;****** BeastConstants/BSTC_Root ********************************************
  56. ;*
  57. ;*    NAME
  58. ;*      BSTC_Root -- Root class. (v0.1)
  59. ;*
  60. ;****************************************************************************
  61.             rsreset
  62. BSTC_Root:        rs.b    LN_SIZE
  63. BSTC_Size:        rs.l    1        ;* Size of the total Class.
  64. BSTC_Flags        rs.l    1
  65. ;BSTC_InputPorts:    rs.b    MLH_SIZE
  66. ;BSTC_OutputPorts:    rs.b    MLH_SIZE
  67. BSTC_Methods:        rs.b    MLH_SIZE    ;* List of supported methods (CLSS_MLxx)
  68. BSTC_ObjectCount:    rs.l    1        ;* How many objects created of this class?
  69. BSTC_ExtClass:        rs.l    1        ;* Pointer to ExtClass library
  70. BSTC_UserData:        rs.l    1
  71. BSTC_RootSIZE:        rs.w    0
  72.  
  73. ;    **** The BSTC_Flags
  74.     BITDEF    CLASS,B52CLASS,0
  75.  
  76. ;****** BeastConstants/CLSS_MethodList **************************************
  77. ;*
  78. ;*    NAME
  79. ;*      CLSS_MethodList -- List of methods. (v0.1)
  80. ;*
  81. ;****************************************************************************
  82.             rsreset
  83. CLSS_MethodList:    rs.b    MLN_SIZE
  84. CLSS_MLMethodID:    rs.l    1        ;* Method ID
  85. CLSS_MLHookList:    rs.b    MLH_SIZE    ;* List of method calls
  86. CLSS_MethodListSIZE:    rs.w    0
  87.  
  88.  
  89. ;****** BeastConstants/ML_Hook **********************************************
  90. ;*
  91. ;*    NAME
  92. ;*      ML_Hook -- Method hook. (v0.1)
  93. ;*
  94. ;****************************************************************************
  95.             rsreset
  96. ML_Hook:        rs.b    h_SIZEOF
  97. ML_HookSIZE:        rs.w    0
  98.  
  99. ;****** BeastConstants/BSTO_System ******************************************
  100. ;*
  101. ;*    NAME
  102. ;*      BSTO_System -- Standard Object. (v0.1)
  103. ;*
  104. ;****************************************************************************
  105.             rsreset
  106. OBJ_BSTObject:        rs.b    MLN_SIZE
  107. OBJ_DataSection:    rs.l    1        ;* Pointer to the data section (WILL NOT CHANGE)
  108. OBJ_InputList:        rs.b    MLH_SIZE    ;* Pointer a list of inputs
  109. OBJ_OutputList:        rs.b    MLH_SIZE    ;* Pointer a list of outputs
  110. OBJ_Class:        rs.l    1        ;* ^ObjectClass
  111. OBJ_Parent:        rs.l    1        ;* Parent-Object
  112. OBJ_Childs:        rs.b    MLH_SIZE    ;* Childs-Objects
  113. OBJ_Flags:        rs.l    1        ;* Object-Flags
  114. OBJ_SystemSIZE:        rs.w    0
  115.  
  116.     BITDEF    OBJ,Dispose,0            ;* The object must be disposed
  117.     BITDEF    OBJ,Skip,1            ;* This object will be skipped in the method calls
  118.     BITDEF    OBJ,SubClass,2            ;* Object is an integral part of another object.
  119.  
  120. ;****** BeastConstants/OBJ_InputOutput **************************************
  121. ;*
  122. ;*    NAME
  123. ;*      OBJ_InputOutput -- (v0.1)
  124. ;*
  125. ;****************************************************************************
  126.  
  127. ;    **********************************
  128. ;    **** OIL ObjectInputLink structure
  129.             rsreset
  130. OIL_Connection:        rs.b    MLN_SIZE    ;* OIL = Object Input Link
  131. OIL_Object:        rs.l    1        ;* Pointer to *this* object
  132. OIL_FromMethodOOL:    rs.l    1        ;* Pointer to the connected input OOL structure
  133. OIL_InputMethod:    rs.l    1        ;* The input method ID
  134. OIL_ConnectionSIZE:    rs.w    0
  135.  
  136. ;    ***********************************
  137. ;    **** OOL ObjectOutputLink structure
  138.             rsreset
  139. OOL_Connection:        rs.b    MLN_SIZE    ;* OOL = Object Output Link
  140. OOL_Object:        rs.l    1        ;* Pointer to *this* object
  141. OOL_ToMethodOIL:    rs.l    1        ;* Pointer to the connected output OIL structure
  142. OOL_OutputMethod:    rs.l    1        ;* The output method ID
  143. OOL_ConnectionSIZE:    rs.w    0
  144.  
  145.  
  146. ;    **********************************************
  147. ;    **** CIL ClassInputLink structure OBSOLETE!!!!
  148.             rsreset
  149. CIL_Input:        rs.b    MLN_SIZE
  150. CIL_InputMethod:    rs.l    1
  151. CIL_InputPortname:    rs.l    1
  152. CIL_InputSIZE:        rs.w    0
  153.  
  154. ;    ***********************************************
  155. ;    **** COL ClassOutputLink structure OBSOLETE!!!!
  156.             rsreset
  157. COL_Output:        rs.b    MLN_SIZE
  158. COL_OutputMethod:    rs.l    1
  159. COL_OutputPortname:    rs.l    1
  160. COL_OutputSIZE:        rs.w    0
  161.  
  162.  
  163.  
  164.  
  165. ;****** BeastConstants/BST_Base *********************************************
  166. ;*
  167. ;*    NAME
  168. ;*      BST_Base -- Base structure. (v0.1)
  169. ;*
  170. ;****************************************************************************
  171.             rsreset
  172. BST_Base:        rs.b    OBJ_SystemSIZE
  173. BST_DefinedClasses:    rs.b    MLH_SIZE
  174. BST_BaseSIZE:        rs.w    0
  175.  
  176. ;****** BeastConstants/BST_StandardMethods **********************************
  177. ;*
  178. ;*    NAME
  179. ;*      BST_StandardMethods -- Standard methods. (v0.1)
  180. ;*
  181. ;*    RESULT
  182. ;*
  183. ;****************************************************************************
  184.  
  185. OBM_bits_FUNCTION =$F0000000
  186. OBM_type_None      =$00000000
  187.  
  188. OBM_bits_FAMILY      =$0F000000
  189. OBM_type_Plain      =$00000000
  190. OBM_type_System      =$01000000
  191. OBM_type_General  =$02000000
  192. OBM_type_B52      =$03000000
  193. OBM_type_BeaVis      =$04000000
  194. OBM_type_BFS      =$05000000
  195. OBM_type_BeaMM      =$06000000
  196. OBM_type_BEASTAR  =$07000000
  197.  
  198.  
  199. ;    /**** Numbers   $0000040 - $000007f Free */
  200. OBM_local0    =$0000040
  201. ;    /**** Numbers   $0000100 - $00007ff Free */
  202. OBM_local1    =$0000100
  203. ;    /**** Numbers     $0004000 - $0004fff Free */
  204. OBM_local2    =$0004000
  205. ;    /**** Numbers   $0100000 - $01fffff Free */
  206. OBM_local3    =$0100000
  207.  
  208. OBM_INPUT       =$0000080
  209. OBM_OUTPUT      =$0000081
  210. OBM_INPUT2      =$0000082
  211. OBM_OUTPUT2     =$0000083
  212. OBM_INPUT3      =$0000084
  213. OBM_OUTPUT3     =$0000085
  214. OBM_INPUT4      =$0000086
  215. OBM_OUTPUT4     =$0000087
  216. OBM_SYSINPUT    =$0000088
  217. OBM_SYSOUTPUT   =$0000089
  218. OBM_IDCMPINPUT    =$000008A
  219. OBM_IDCMPOUTPUT    =$000008B
  220. OBM_BVSINPUT    =$000008C
  221. OBM_BVSOUTPUT    =$000008D
  222. OBM_BEAMMINPUT  =$000008E
  223. OBM_BEAMMOUTPUT    =$000008F
  224. OBM_BFSINPUT    =$0000090
  225. OBM_BFSOUTPUT    =$0000091
  226. OBM_CONTENTSINPUT  = $0000092
  227.  
  228. OBM_CONTENTSOUTPUT = $0000093
  229. ;**** BTA_Flags for the OBM_CONTENTSOUTPUT method ****/
  230. CONTENTSOUTPUT_FULL        =    0
  231. CONTENTSOUTPUT_FIXED        =    1
  232. CONTENTSOUTPUT_UNTILBYTE    =    2
  233. CONTENTSOUTPUT_UNTILWORD    =    3
  234. CONTENTSOUTPUT_UNTILLONG    =    4
  235. CONTENTSOUTPUT_END        =    5
  236.  
  237.  
  238. OBM_ALLOCMEM    =$0000100
  239. OBM_FREEMEM    =$0000101
  240. OBM_LOCKMEM    =$0000102
  241. OBM_UNLOCKMEM    =$0000103
  242.  
  243. OBM_GETATTR     =$0001000
  244. OBM_SETATTR     =$0001001
  245.  
  246. OBM_UPDATE    =$0001100
  247.  
  248. OBM_INIT        =$0040000
  249. OBM_DISPOSE     =$0040001
  250.  
  251. OBM_DUPLICATE    =$0050000
  252. OBM_COPY    =$0050001
  253. OBM_MOVE    =$0050002
  254. ;**** BTA_Flags for the OBM_MOVE method ****
  255.     BITDEF    MOVE,START,0
  256.     BITDEF    MOVE,END,1
  257.     BITDEF    MOVE,DRAG,2
  258.  
  259. OBM_SIZE    =$0050003
  260. OBM_INSERT    =$0050004
  261. OBM_ADDHEAD    =$0050005
  262. OBM_ADDTAIL    =$0050006
  263. OBM_REMOVE    =$0050007
  264. OBM_REMHEAD    =$0050008
  265. OBM_REMTAIL    =$0050009
  266.  
  267. ;**********************************
  268. ;**** Beast System classes methods
  269. ;****
  270. OBM_GETEACH    =$0000000+OBM_type_System
  271. OBM_FOREACH    =$0000001+OBM_type_System
  272.  
  273. OBM_EVENTLOOP    =$0001000+OBM_type_System
  274. OBM_ADDEVENT    =$0001001+OBM_type_System
  275. OBM_REMEVENT    =$0001002+OBM_type_System
  276.  
  277.  
  278. ;**********************************
  279. ;**** Beast General classes methods
  280. ;****
  281. OBM_SEARCHOBJECT    =$0000000+OBM_type_General
  282. ;**** BTA_Flags for the OBM_SEARCHOBJECT method ****/
  283. SEARCHOBJECTMODE_bits    =$0000000F
  284.     BITDEF    SEARCHOBJECTMODE,ONELEVEL,0
  285.     BITDEF    SEARCHOBJECTMODE,ALLCHILDREN,1
  286.  
  287. OBM_reply_SEARCHOBJECT    =$0000001+OBM_type_General
  288.  
  289.  
  290. ;***************************
  291. ;**** BeaVis classes methods
  292. ;****
  293. OBM_DRAW        =$0000000+OBM_type_BeaVis
  294. OBM_ENTEROBJECT        =$0000001+OBM_type_BeaVis
  295. OBM_LEAVEOBJECT        =$0000002+OBM_type_BeaVis
  296. OBM_OBJECTDOWN        =$0000003+OBM_type_BeaVis
  297. OBM_OBJECTUP        =$0000004+OBM_type_BeaVis
  298.  
  299. OBM_DOLAYOUT        =$0000100+OBM_type_BeaVis
  300. OBM_ASKLAYOUT        =$0000101+OBM_type_BeaVis
  301. OBM_REPLYLAYOUT        =$0000102+OBM_type_BeaVis
  302. OBM__GETLAYOUTreply    =$0000103+OBM_type_BeaVis
  303.  
  304. OBM_SIZE_TOPLEFT    =$0000200+OBM_type_BeaVis
  305. OBM_SIZE_TOPRIGHT    =$0000201+OBM_type_BeaVis
  306. OBM_SIZE_DOWNRIGHT    =$0000202+OBM_type_BeaVis
  307. OBM_SIZE_DOWNLEFT    =$0000203+OBM_type_BeaVis
  308. ;**** BTA_Flags for the OBM_SIZE_xx methods ****
  309.     BITDEF    SIZE,START,0
  310.     BITDEF    SIZE,END,1
  311.  
  312.  
  313. ;************************
  314. ;**** BFS classes methods
  315. ;****
  316. OBM_LOCKFILE        =$0000000+OBM_type_BFS
  317. OBM_READFILE        =$0000001+OBM_type_BFS
  318.  
  319. ;***********************************
  320. ;****                     ****
  321. ;**** BEAST Standard Attributes ****
  322. ;****                     ****
  323. ;***********************************
  324.  
  325. BST_bits_System        =$7F000000
  326. BST_TAG         =TAG_USER+$40000000
  327.  
  328.     BITDEF    BT,Ignore,29
  329.     BITDEF    BT,Attributes,28
  330.     BITDEF    BT,UserTag,27
  331.  
  332. BST_bits_Types        =$00F00000
  333. BTA_type_Plain        =$00000000
  334. BTA_type_CString    =$00100000
  335. BTA_type_Object        =$00200000
  336. BTA_type_Pointer    =$00300000
  337. BTA_type_TagList    =$00400000
  338. BTA_type_Flags        =$00500000
  339. BTA_type_Tag        =$00600000
  340. BTA_type_Filename    =$00700000
  341.  
  342. BST_bits_Family        =$000F0000
  343. BTA_type_System        =$00000000
  344. BTA_type_General    =$00010000
  345. BTA_type_B52        =$00020000
  346. BTA_type_BeaVis        =$00030000
  347. BTA_type_BFS        =$00040000
  348. BTA_type_BeaMM        =$00050000
  349. BTA_type_BEASTAR    =$00060000
  350.  
  351.  
  352. ;************
  353. ;**** Control
  354. ;****/
  355. BTA_CONTROL        =BST_TAG+BTF_Attributes+$000
  356. BTA_NumberOf        =BTA_CONTROL+$01
  357.  
  358. ;*************
  359. ;**** Position
  360. ;****/
  361. BTA_POSITION        =BST_TAG+BTF_Attributes+$100
  362. BTA_X            =BTA_POSITION+$00+BTA_type_Plain
  363. BTA_Y            =BTA_POSITION+$01+BTA_type_Plain
  364. BTA_Width        =BTA_POSITION+$02+BTA_type_Plain
  365. BTA_Height        =BTA_POSITION+$03+BTA_type_Plain
  366. BTA_Size        =BTA_POSITION+$04+BTA_type_Plain
  367. BTA_InnerX        =BTA_POSITION+$05+BTA_type_Plain
  368. BTA_InnerY        =BTA_POSITION+$06+BTA_type_Plain
  369. BTA_InnerWidth        =BTA_POSITION+$07+BTA_type_Plain
  370. BTA_InnerHeight        =BTA_POSITION+$08+BTA_type_Plain
  371.  
  372.  
  373. ;**********
  374. ;**** Types
  375. ;****/
  376. BTA_TYPES        =BST_TAG+BTF_Attributes+$200
  377. BTA_LongNumber        =BTA_TYPES+$00+BTA_type_Plain
  378. BTA_Flags        =BTA_TYPES+$01+BTA_type_Flags
  379.  
  380. BTA_Pointer        =BTA_TYPES+$0A+BTA_type_Pointer
  381. BTA_ByteNumber        =BTA_TYPES+$0B+BTA_type_Plain
  382. BTA_WordNumber        =BTA_TYPES+$0C+BTA_type_Plain
  383. BTA_FFPNumber        =BTA_TYPES+$0D+BTA_type_Plain
  384.  
  385. ;***************
  386. ;**** Identifier
  387. ;****
  388. BTA_IDENTIFIER        =BST_TAG+BTF_Attributes+$300
  389. BTA_Title        =BTA_IDENTIFIER+$00+BTA_type_CString
  390. BTA_MainObject        =BTA_IDENTIFIER+$01+BTA_type_Object
  391. BTA_Object1        =BTA_IDENTIFIER+$02+BTA_type_Object
  392. BTA_Object2        =BTA_IDENTIFIER+$03+BTA_type_Object
  393. BTA_Object3        =BTA_IDENTIFIER+$04+BTA_type_Object
  394. BTA_Object4        =BTA_IDENTIFIER+$05+BTA_type_Object
  395. BTA_Object5        =BTA_IDENTIFIER+$06+BTA_type_Object
  396. BTA_Object6        =BTA_IDENTIFIER+$07+BTA_type_Object
  397. BTA_Object7        =BTA_IDENTIFIER+$08+BTA_type_Object
  398. BTA_Object8        =BTA_IDENTIFIER+$09+BTA_type_Object
  399. BTA_Object9        =BTA_IDENTIFIER+$0A+BTA_type_Object
  400. BTA_Method        =BTA_IDENTIFIER+$0B+BTA_type_Plain
  401. BTA_TagList        =BTA_IDENTIFIER+$0C+BTA_type_TagList
  402. BTA_ClassName        =BTA_IDENTIFIER+$0D+BTA_type_CString
  403. BTA_FromObject        =BTA_IDENTIFIER+$0E+BTA_type_Object
  404. BTA_ToObject        =BTA_IDENTIFIER+$0F+BTA_type_Object
  405.  
  406.  
  407. ;***********
  408. ;**** SYSTEM
  409. ;****
  410. BTA_SYSTEM        =BST_TAG+BTF_Attributes+$400
  411. BTA_MemBlock        =BTA_SYSTEM+$00+BTA_type_Pointer
  412. BTA_MemHandle        =BTA_SYSTEM+$01+BTA_type_Pointer
  413. BTA_MemFlags        =BTA_SYSTEM+$02+BTA_type_Flags
  414.     BITDEF    MEM,MOVEABLE_DISK,24
  415.     BITDEF    MEM,MOVEABLE_MEMORY,25
  416.     BITDEF    MEM,DISCARDABLE,26
  417. BTA_MemSize        =BTA_SYSTEM+$03+BTA_type_Plain
  418. BTA_Signals        =BTA_SYSTEM+$04+BTA_type_Flags
  419. BTA_Signals_AND        =BTA_SYSTEM+$05+BTA_type_Flags
  420. BTA_Signals_OR        =BTA_SYSTEM+$06+BTA_type_Flags
  421. BTA_Signals_XOR        =BTA_SYSTEM+$07+BTA_type_Flags
  422. BTA_MsgPort        =BTA_SYSTEM+$08+BTA_type_Pointer
  423. BTA_Message        =BTA_SYSTEM+$09+BTA_type_Pointer
  424.  
  425. ;********************************************
  426. ;**** BEAST GENERAL CLASS TAG and definitions
  427. ;****
  428. BST_GENERAL        =BST_TAG+BTF_Attributes+BTA_type_General
  429. BTA_TagListObject    =BST_GENERAL+$0000+BTA_type_Object
  430. BTA_TagListSize        =BST_GENERAL+$0001+BTA_type_Plain
  431.  
  432. ;**** BTA_Flags for the OBM_SIZE of BST_MemoryClass
  433.     BITDEF    MEMSIZE,RETAIN,0
  434.  
  435.  
  436.  
  437.  
  438. ;****************************************
  439. ;**** BEAST BFS CLASS TAG and definitions
  440. ;****
  441. BFS_FILESYSTEM        =BST_TAG+BTF_Attributes+BTA_type_BFS
  442. BFS_UserName        =BFS_FILESYSTEM+$0000+BTA_type_CString
  443. BFS_UserPassword    =BFS_FILESYSTEM+$0001+BTA_type_CString
  444. BFS_SystemName        =BFS_FILESYSTEM+$0002+BTA_type_CString
  445. BFS_MountName        =BFS_FILESYSTEM+$0003+BTA_type_CString
  446. BFS_LockName        =BFS_FILESYSTEM+$0004+BTA_type_CString
  447. BFS_LockObject        =BFS_FILESYSTEM+$0005+BTA_type_Object
  448. BFS_LockFlags        =BFS_FILESYSTEM+$0006+BTA_type_Flags
  449. LOCKMODE_bits    =    $0000000F
  450.     BITDEF    LOCKMODE,READ,0
  451.     BITDEF    LOCKMODE,WRITE,1
  452.     BITDEF    LOCKMODE,NEW,2
  453.  
  454. ;************************************************
  455. ;**** BEAST VISUAL (BeaVis) TAG's and definitions
  456. ;****
  457. BVS_SYSTEM        =BST_TAG+BTF_Attributes+BTA_type_BeaVis
  458. BVS_BorderType        =BVS_SYSTEM+$0000+BTA_type_Plain
  459. BORDERTYPE_NONE        =    0
  460. BORDERTYPE_LINE        =    1
  461. BORDERTYPE_BUTTON    =    2
  462. BORDERTYPE_STRING    =    3
  463. BORDERTYPE_XEN        =    4
  464.  
  465. BVS_ColorScheme        =BVS_SYSTEM+$0001+BTA_type_Plain
  466. COLORSCHEME_NORMAL    =    0
  467. COLORSCHEME_PRESSED    =    1
  468.  
  469. BVS_RenderMode        =BVS_SYSTEM+$0002+BTA_type_Plain
  470. RENDERMODE_NONE        =    0
  471. RENDERMODE_LIGHT    =    1
  472. RENDERMODE_MEDIUM    =    2
  473. RENDERMODE_HEAVY    =    3
  474. RENDERMODE_FULL        =    4
  475.  
  476. BVS_IRastport        =BVS_SYSTEM+$0003+BTA_type_Pointer
  477. BVS_RectGadgetFlags    =BVS_SYSTEM+$0004+BTA_type_Flags
  478.     BITDEF    RECTGADGET,ADDED,0
  479.     BITDEF    RECTGADGET,PRESSED,1
  480.     BITDEF    RECTGADGET,ENTERED,2
  481.     BITDEF    RECTGADGET,RENDERED,3
  482. BVS_TextFlags        =BVS_SYSTEM+$0005+BTA_type_Flags
  483. TEXTTYPE_bits        =$0000000F
  484.     BITDEF    TEXTTYPE,NORMAL,0
  485.     BITDEF    TEXTTYPE,BOLD,1
  486.     BITDEF    TEXTTYPE,ITALIC,2
  487.     BITDEF    TEXTTYPE,WIDE,3
  488.     BITDEF    TEXTTYPE,UNDERLINED,4
  489. TEXTJUST_bits        =$000000F0
  490.     BITDEF    TEXTJUST,LEFT,8
  491.     BITDEF    TEXTJUST,RIGHT,9
  492. TEXTJUST_CENTER_H    =TEXTJUSTF_LEFT+TEXTJUSTF_RIGHT
  493.     BITDEF    TEXTJUST,TOP,10
  494.     BITDEF    TEXTJUST,BOTTOM,11
  495. TEXTJUST_CENTER_V    =TEXTJUSTF_TOP+TEXTJUSTF_BOTTOM
  496. BVS_TextTitle        =BVS_SYSTEM+$0006+BTA_type_CString
  497. BVS_ImageFlags        =BVS_SYSTEM+$0007+BTA_type_Flags
  498. IMAGEFILL_bits        =$0000F000
  499. IMAGEFILL_NONE        =$00000000
  500. IMAGEFILL_SOLID        =$00001000
  501. IMAGEFILL_CHECKERED    =$00002000
  502. IMAGEFILL_LIGHTCHECK    =$00003000
  503. IMAGEPICT_bits        =$00F00000
  504. IMAGEPICT_NONE        =$00000000
  505. IMAGEPICT_ONCE        =$00100000
  506. IMAGEPICT_ALL        =$00200000
  507.  
  508. BVS_ObjectType        =BVS_SYSTEM+$0008+BTA_type_Flags
  509. OBJECTTYPEFAMILY_bits            =$000000FF
  510. OBJECTTYPEFAMILY_default        =$00000000
  511. OBJECTTYPEFAMILY_TEXTBUTTON        =$00000001
  512. OBJECTTYPEFAMILY_WINDOWLAYOUT        =$00000002
  513. OBJECTTYPEFAMILY_DRAGBARLAYOUT        =$00000003
  514. OBJECTTYPEFAMILY_WINDOWCONTENTSLAYOUT    =$00000004
  515. OBJECTTYPEFAMILY_DRAGBARBUTTON        =$00000005
  516. OBJECTTYPEFAMILY_LAYOUT            =$00000006
  517. OBJECTTYPEFAMILY_STRINGGADGET        =$00000007
  518. OBJECTTYPEFAMILY_LABEL1            =$00000008
  519. OBJECTTYPEFAMILY_LABEL2            =$00000009
  520. OBJECTTYPEFAMILY_LABEL3            =$0000000A
  521. OBJECTTYPEFAMILY_LABEL4            =$0000000B
  522. OBJECTTYPEFAMILY_WINDOWSTATUSBAR    =$0000000C
  523. OBJECTTYPEFAMILY_IMAGEBUTTON        =$0000000D
  524.  
  525. BVS_LayoutType        =BVS_SYSTEM+$0009+BTA_type_Flags
  526. BVS_PositionType    =BVS_SYSTEM+$000A+BTA_type_Flags
  527. BVS_IWindow        =BVS_SYSTEM+$000B+BTA_type_Pointer
  528. BVS_ImageTitle        =BVS_SYSTEM+$000C+BTA_type_Filename
  529. BVS_WindowTitle        =BVS_SYSTEM+$000D+BTA_type_CString
  530. BVS_FontAttr        =BVS_SYSTEM+$000E+BTA_type_Pointer
  531. BVS_FontHeight        =BVS_SYSTEM+$000F+BTA_type_Plain
  532. BVS_FontStyle        =BVS_SYSTEM+$0010+BTA_type_Plain
  533. BVS_FontFlags        =BVS_SYSTEM+$0011+BTA_type_Flags
  534. BVS_FontName        =BVS_SYSTEM+$0012+BTA_type_CString
  535.  
  536.  
  537. BVS_ForegroundColor     =BVS_SYSTEM+$0104+BTA_type_Plain
  538. BVS_BackgroundColor     =BVS_SYSTEM+$0105+BTA_type_Plain
  539. BVS_OutlineColor     =BVS_SYSTEM+$0106+BTA_type_Plain
  540. BVS_Shine100Color    =BVS_SYSTEM+$0107+BTA_type_Plain
  541. BVS_Shine75Color    =BVS_SYSTEM+$0108+BTA_type_Plain
  542. BVS_Shine50Color    =BVS_SYSTEM+$0109+BTA_type_Plain
  543. BVS_Shine25Color    =BVS_SYSTEM+$010A+BTA_type_Plain
  544. BVS_Shadow100Color    =BVS_SYSTEM+$010B+BTA_type_Plain
  545. BVS_Shadow75Color    =BVS_SYSTEM+$010C+BTA_type_Plain
  546. BVS_Shadow50Color    =BVS_SYSTEM+$010D+BTA_type_Plain
  547. BVS_Shadow25Color    =BVS_SYSTEM+$010E+BTA_type_Plain
  548. BVS_Fill100Color    =BVS_SYSTEM+$010F+BTA_type_Plain
  549. BVS_Fill75Color        =BVS_SYSTEM+$0110+BTA_type_Plain
  550. BVS_Fill50Color        =BVS_SYSTEM+$0111+BTA_type_Plain
  551. BVS_Fill25Color        =BVS_SYSTEM+$0112+BTA_type_Plain
  552. BVS_Mark100Color    =BVS_SYSTEM+$0113+BTA_type_Plain
  553. BVS_Mark75Color        =BVS_SYSTEM+$0114+BTA_type_Plain
  554. BVS_Mark50Color        =BVS_SYSTEM+$0115+BTA_type_Plain
  555. BVS_Mark25Color        =BVS_SYSTEM+$0116+BTA_type_Plain
  556. BVS_Back100Color    =BVS_SYSTEM+$0117+BTA_type_Plain
  557. BVS_Back75Color        =BVS_SYSTEM+$0118+BTA_type_Plain
  558. BVS_Back50Color        =BVS_SYSTEM+$0119+BTA_type_Plain
  559. BVS_Back25Color        =BVS_SYSTEM+$011A+BTA_type_Plain
  560. BVS_TextColor        =BVS_SYSTEM+$011B+BTA_type_Plain
  561. BVS_ImageForeColor    =BVS_SYSTEM+$011C+BTA_type_Plain
  562. BVS_ImageBackColor    =BVS_SYSTEM+$011D+BTA_type_Plain
  563.  
  564. BVS_X1            =BVS_SYSTEM+$0200+BTA_type_Plain
  565. BVS_Y1            =BVS_SYSTEM+$0201+BTA_type_Plain
  566. BVS_Z1            =BVS_SYSTEM+$0202+BTA_type_Plain
  567. BVS_X2            =BVS_SYSTEM+$0203+BTA_type_Plain
  568. BVS_Y2            =BVS_SYSTEM+$0204+BTA_type_Plain
  569. BVS_Z2            =BVS_SYSTEM+$0205+BTA_type_Plain
  570. BVS_LayoutWidth        =BVS_SYSTEM+$0206+BTA_type_Plain
  571. BVS_LayoutHeight    =BVS_SYSTEM+$0207+BTA_type_Plain
  572. BVS_LayoutDepth        =BVS_SYSTEM+$0208+BTA_type_Plain
  573. BVS_LayoutLeft        =BVS_SYSTEM+$0209+BTA_type_Plain
  574. BVS_LayoutTop        =BVS_SYSTEM+$020A+BTA_type_Plain
  575. BVS_LayoutRight        =BVS_SYSTEM+$020B+BTA_type_Plain
  576. BVS_LayoutBottom    =BVS_SYSTEM+$020C+BTA_type_Plain
  577. BVS_LayoutPlacement    =BVS_SYSTEM+$020D+BTA_type_Plain
  578. LAYOUTPLACEMENT_D_bits    =    $FF000000
  579. LAYOUTPLACEMENT_P_bits    =    $00000FFF        /* Position number */
  580.  
  581. BVS_LayoutFlags        =BVS_SYSTEM+$020E+BTA_type_Plain
  582. LAYOUTFLAGS_OR_bits    =    $0F000000
  583. LAYOUTFLAGS_bits    =    $F0000000
  584.  
  585. LAYOUTFLAGS_W_bits    =    $0000000F
  586. LAYOUTFLAGS_W_FRAC    =    $00000001        /* FRAC = Fraction number */
  587. LAYOUTFLAGS_W_PARENT    =    $00000002        /* PARENT = Taken value from the parent */
  588. LAYOUTFLAGS_W_INTERN    =    $00000003        /* INTERN = The owner will take care of the values...automagically */
  589. LAYOUTFLAGS_H_bits    =    $000000F0
  590. LAYOUTFLAGS_H_FRAC    =    $00000010
  591. LAYOUTFLAGS_H_PARENT    =    $00000020
  592. LAYOUTFLAGS_H_INTERN    =    $00000030
  593. LAYOUTFLAGS_L_bits    =    $00000F00
  594. LAYOUTFLAGS_L_FRAC    =    $00000100
  595. LAYOUTFLAGS_L_PARENT    =    $00000200
  596. LAYOUTFLAGS_T_bits    =    $0000F000
  597. LAYOUTFLAGS_T_FRAC    =    $00001000
  598. LAYOUTFLAGS_T_PARENT    =    $00002000
  599. LAYOUTFLAGS_R_bits    =    $000F0000
  600. LAYOUTFLAGS_R_FRAC    =    $00010000
  601. LAYOUTFLAGS_R_PARENT    =    $00020000
  602. LAYOUTFLAGS_B_bits    =    $00F00000
  603. LAYOUTFLAGS_B_FRAC    =    $00100000
  604. LAYOUTFLAGS_B_PARENT    =    $00200000
  605. LAYOUTFLAGS_OR_Horz    =    $01000000        /* The elements are horizontal oriented */
  606. LAYOUTFLAGS_OR_Vert    =    $02000000
  607. LAYOUTFLAGSF_RENDERED    =    $10000000
  608.  
  609. BVS_BorderWidth        =BVS_SYSTEM+$0210+BTA_type_Plain
  610. BVS_TextWidth        =BVS_SYSTEM+$0211+BTA_type_Plain
  611. BVS_TextHeight        =BVS_SYSTEM+$0212+BTA_type_Plain
  612. BVS_MarginLeft        =BVS_SYSTEM+$0213+BTA_type_Plain
  613. BVS_MarginTop        =BVS_SYSTEM+$0214+BTA_type_Plain
  614. BVS_MarginRight        =BVS_SYSTEM+$0215+BTA_type_Plain
  615. BVS_MarginBottom    =BVS_SYSTEM+$0216+BTA_type_Plain
  616. BVS_ImageWidth        =BVS_SYSTEM+$0217+BTA_type_Plain
  617. BVS_ImageHeight        =BVS_SYSTEM+$0218+BTA_type_Plain
  618.  
  619. BVS_2dPoint        =BVS_SYSTEM+$0300+BTA_type_Plain
  620. BVS_2dLine        =BVS_SYSTEM+$0301+BTA_type_Plain
  621. BVS_2dRectangle        =BVS_SYSTEM+$0302+BTA_type_Plain
  622. BVS_2dText        =BVS_SYSTEM+$0303+BTA_type_Plain
  623.  
  624.  
  625. ;**********************************************
  626. ;**** Method Flags for the OBJ_DoMethod routine
  627. ;****
  628.     BITDEF    MTH,DOCHILDREN,0
  629.     BITDEF    MTH,DOPARENTS,1
  630.     BITDEF    MTH,DISPOSED,2        ;/* INTERNAL: Somewhere an object must be disposed */
  631.     BITDEF    MTH,EVENTDISPOSE,3     ;/* INTERNAL: MUST be used in combination with the MTHF_DISPOSED
  632.                     ;       flag, now *also* the eventobject will be disposed. */
  633.     BITDEF    MTH,PASSTOCHILD,4
  634.     BITDEF    MTH,BREAKPASSTOCHILD,5
  635.  
  636.     BITDEF    MTH,ERROR,6
  637.     BITDEF    MTH,FATALERROR,7
  638.     BITDEF    MTH,BREAK,8
  639.  
  640. MTHF_B52_bits        =$0000F000    ;/* Methodflags used by B52 */
  641.  
  642.  
  643. ;****** BeastConstants/BST_macros *******************************************
  644. ;*
  645. ;*    NAME
  646. ;*      BST_macros -- (v0.1)
  647. ;*
  648. ;****************************************************************************
  649.  
  650. Macro_GetInstance    MACRO    ;    Object, Instance
  651.             move.l    OBJ_DataSection(\1),\2
  652.             ENDM
  653.  
  654. OBJ_m_DoMethod    MACRO    ; Object, MethodID, TagList, MethodFlags
  655.         moveq        #\4,d3
  656.         move.l        \1,a0
  657.         move.l        #\2,d0
  658.         move.l        \3,a1
  659.         CALLBEAST    OBJ_DoMethod
  660.         ENDM
  661.  
  662.         ENDC    ;    BEAST_I
  663.